package com.xuecheng.checkcode.service.impl;

import com.xuecheng.checkcode.service.CheckCodeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;

/**
 * @author Mr.M
 * @version 1.0
 * @description 使用本地内存存储验证码，测试用
 * @date 2022/9/29 18:36
 */
@Component("MemoryCheckCodeStore")
public class MemoryCheckCodeStore implements CheckCodeService.CheckCodeStore {

    @Autowired
    private RedisTemplate redisTemplate;

    /**
     *
     * @param key key
     * @param value value
     * @param expire 过期时间,单位秒
     */
    @Override
    public void set(String key, String value, Integer expire) {
        redisTemplate.opsForValue().set(key , value , expire , TimeUnit.SECONDS);
    }


    /**
     * 取值
     * @param key
     * @return
     */
    @Override
    public String get(String key) {
        return (String) redisTemplate.opsForValue().get(key);
    }


    /**
     * 删除值
     * @param key
     */
    @Override
    public void remove(String key) {
        redisTemplate.delete(key);
    }

//    Map<String,String> map = new HashMap<String,String>();


//    @Override
//    public void set(String key, String value, Integer expire) {
//        map.put(key,value);
//    }

//    @Override
//    public String get(String key) {
//        return map.get(key);
//    }

//    @Override
//    public void remove(String key) {
//        map.remove(key);
//    }



}
